/***************************************************
 * 使用for/while/do-while实现循环
 * *************************************************/
#include "common.h"
using namespace std;

void test_loop()
{
    // for 循环实现简单循环调用, int index = 0这个是定义index的值，只会初始化一次，可以放在外部
    // index < 10是最终的判定条件，index++函数体执行后都会执行一次index++;
    for (int index = 0; index < 10; index++) {
        std::cout << index << std::endl;
    }

    // for实现死循环
    std::cout << "test for(;;)" << std::endl;
    int count = 0;
    for(;;) {
        count++;
        if (count == 10) {
            break;
        }
        printf("%d\n", count);
    }

    // while循环实现简单循环：只会判定while中条件是否满足
    int num = 0;
    while(num < 10) {
        std::cout << "while" << num << std::endl;
        num++;
    }

    // while循环实现死循环
    while(1) {
        if (num == 20) {
            break;
        }
        printf("%d\n", num);
        num++;
    }

    // do-while，循环体至少执行一次
    uint32_t count1 = 1;
    do {
        cout << "do-while" << endl;
    } while(--count1);
}

int main()
{
    test_loop();
    return 0;
}